export default {
  /**
   * 获取应用卡片列表
   * @param {Object} params - 请求参数
   * @param {number} [params.page=1] - 页码
   * @param {number} [params.pageSize=10] - 每页数量
   * @returns {Promise} 包含卡片列表的Promise
   */
 
}
import request from '../request'
export function getCardList(params = {}) {
  return request({
    url: '/api/v1/distribution/appList',
    method: 'get',
    data: {
      uid:params.uid,
      pageNum: params.page || 1,
      pageSize: params.pageSize || 10,
      ...params
    }
  }).then(res => {
    if (res.code === '00000') {
      return res
    } else {
      if (res.status === 401){
        console.log('token过期')
          localStorage.removeItem('token')
          this.$router.push('/login')
      }
      return Promise.reject(new Error(res.message || '获取卡片列表失败'))
    }
  })
}

/**
 * 上传应用文件
 * @param {FormData} formData - 包含文件的FormData对象
 * @returns {Promise} 包含上传结果的Promise
 */
export function uploadAppFile(formData) {
  return request({
    url: '/api/v1/distribution/package/upload',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    transformRequest: [function(data) {
      return data
    }]
  }).then(res => {
    if (res.code === '00000') {
      return res.data
    } else {
      return Promise.reject(new Error(res.message || '上传失败'))
    }
  })
}

/**
 * 删除应用
 * @param {Object} params - 请求参数
 * @param {string} params.appId - 应用ID
 * @returns {Promise} 包含删除结果的Promise
 */
export function deleteApp(params) {
  return request({
    url: '/api/v1/distribution/app/delete',
    method: 'post',
    data: params
  }).then(res => {
    if (res.code === '00000') {
      return res.data
    } else {
      return Promise.reject(new Error(res.message || '删除失败'))
    }
  })
}

/**
 * 获取应用详情
 * @param {Object} params - 请求参数
 * @param {string} params.appId - 应用ID
 * @param {string} params.shortCode - 分享码
 * @returns {Promise} 包含应用详情的Promise
 */
export function getAppDetail(params, config = {}) {
  return request({
    url: '/api/v1/distribution/package/download',
    method: 'get',
    params: params,
    ...config
  }).then(res => {
    if (config.responseType === 'blob') {
      return res // 直接返回原始响应用于文件下载
    }
    if (res.code === '00000') {
      return res.data
    } else {
      return Promise.reject(new Error(res.message || '获取应用详情失败'))
    }
  })
}
